#include "stdafx.h"
using namespace std;



class sorting
{
	static const int BubbleSortMaxSize = 100;
public:
	sorting();
	~sorting();
	void DoSort();
	vector <long unsigned int> arr;
};


class Sort_Strategy
{
public:
	Sort_Strategy(){};
	virtual void Tosort(vector <long unsigned int>* ndata)=0;  

};

class QSort: public Sort_Strategy
{
public:
	virtual void Tosort(vector <long unsigned int>* ndata);
};

class Bubble: public Sort_Strategy
{
public:
	virtual void Tosort(vector <long unsigned int>* ndata);
	
};

class Data_Manager
{
public:
	void setStrategy(Sort_Strategy *p)
	{
		MySortStrategy = p;
	}
private:
	Sort_Strategy * MySortStrategy;
public:
	void Makesort(vector <long unsigned int>* ndata)
	{
		if(MySortStrategy)
		{
			
			return MySortStrategy->Tosort(ndata);
		}
		else return;
	}

}